package com.ctshk.rpc.order.tour.req.custom;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;

/**
 * <p>
 * 購買保險req
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-03-04
 */
@Data
@ApiModel(value="購買保險req", description="購買保險req")
public class CustomOrderBuyInsuranceReq implements Serializable {

    @NotNull(message = "订单ID不能为空")
    @ApiModelProperty(value = "订单ID",required = true)
    private Long orderId;

    @NotNull(message = "保險id不能为空")
    @ApiModelProperty(value = "保險id",required = true)
    private Long id;

    @NotNull(message = "成人人数不能为空")
    @ApiModelProperty(value = "成人人数",required = true)
    private Integer adultNum;

    @NotNull(message = "小童人数不能为空")
    @ApiModelProperty(value = "小童人数",required = true)
    private Integer childNum;

    @NotNull(message = "旅客ID集合不能为空")
    @ApiModelProperty(value = "旅客ID集合",required = true)
    private List<Long> touristList;

    @NotNull(message = "投保人ID不能为空")
    @ApiModelProperty(value = "投保人ID",required = true)
    private Long policyHolderId;

    @NotNull(message = "投保人姓名不能为空")
    @ApiModelProperty(value = "投保人姓名",required = true)
    private String policyHolderName;

    @NotNull(message = "保险开始时间不能为空")
    @ApiModelProperty(value = "保险开始时间",required = true)
    private LocalDate beginDate;

    @NotNull(message = "保险结束时间不能为空")
    @ApiModelProperty(value = "保险结束时间",required = true)
    private LocalDate endDate;

    @NotNull(message = "出发地不能为空")
    @ApiModelProperty(value = "出发地",required = true)
    private String departurePlace;

    @NotNull(message = "目的地不能为空")
    @ApiModelProperty(value = "目的地",required = true)
    private String destination;

    @NotNull(message = "保险天数不能为空")
    @ApiModelProperty(value = "保险天数",required = true)
    private Integer days;

    @ApiModelProperty(value = "操作人")
    private Long userId;

}
